package engine;

public class DifficultyLevel {
	private int startDelay;
	private int decisionInterval;
	private int defensiveMovementRatio;
	private float offensiveAggressivness;
	private float defensiveAggressivness;
	
	public static final int EASY = 0;
	public static final int MEDIUM = 1;
	public static final int HARD = 2;
	
	public DifficultyLevel(int difficultyLevel){
		switch(difficultyLevel){
		case EASY:
			startDelay = 20000;
			decisionInterval = 20000;
			defensiveMovementRatio = 2;
			offensiveAggressivness = 0.4f;
			defensiveAggressivness = 0.6f;
			break;
		case MEDIUM:
			startDelay = 15000;
			decisionInterval = 17000;
			defensiveMovementRatio = 3;
			offensiveAggressivness = 0.5f;
			defensiveAggressivness = 0.4f;
			break;
		case HARD:
			startDelay = 8000;
			decisionInterval = 11000;
			defensiveMovementRatio = 4;
			offensiveAggressivness = 0.8f;
			defensiveAggressivness = 0.2f;
			break;
		}
	}
	
	public int getStartDelay(){
		return startDelay;
	}
	
	public void setStartDelay(int startDelay){
		this.startDelay = startDelay;
	}
	
	public int getDecisionInterval() {
		return decisionInterval;
	}
	
	public void setDecisionInterval(int decisionLevel) {
		this.decisionInterval = decisionLevel;
	}
	
	public int getDefensiveMovementRatio() {
		return defensiveMovementRatio;
	}
	
	public void setDefensiveMovementRatio(int defensiveMovementRatio) {
		this.defensiveMovementRatio = defensiveMovementRatio;
	}
	
	public float getOffensiveAggressivness() {
		return offensiveAggressivness;
	}
	
	public void setOffensiveAggressivness(float offensiveAggressivness) {
		this.offensiveAggressivness = offensiveAggressivness;
	}
	
	public float getDefensiveAggressivness() {
		return defensiveAggressivness;
	}
	
	public void setDefensiveAggressivness(float defensiveAggressivness) {
		this.defensiveAggressivness = defensiveAggressivness;
	}
}
